home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 November / CPNL0711.ISO / boekhoud / finan / BADGER finance v1.0 beta 2.exe / xampplite / htdocs / forbidden / readme.auth_remote.txt < prev   
Text File  |  2005-10-22  |  5KB  |  125 lines

  1. ***************************************************************
  2.  
  3.                     mod_auth_remote v0.1 -
  4.    a single signon module using basic auth ( for Apache 2.0 & 1.3 )
  5.  
  6.   Saju R Pillai (saju.pillai@gmail.com)
  7.  
  8. ****************************************************************  
  9.  
  10. README mod_auth_remote  ( Apache 2.0 authentication module )
  11.  
  12. This module is a very simple, lightweight method of setting up a single signon
  13. system across multiple web-applicaitions hosted on different servers.
  14.  
  15. The actual authentication & authorization system is deployed on a single server
  16. instead of each individual server. All other servers are built with mod_auth_remote
  17. enabled. When a request comes in, mod_auth_remote obtains the client username &
  18. password from the client via basic authentication scheme.
  19.  
  20. It then builds a HTTP header with authorization header built from the client's
  21. userid:passwd. mod_auth_remote then makes a HEAD request to the authentication
  22. server. On reciept of a 2XX response, the client is validated; for all other
  23. responses the client is not validated.
  24.  
  25. Why I wrote mod_auth_remote ?
  26.  
  27. I have a bunch of web applications running on a bunch of machines ...
  28.  
  29. 1) My authentication code is heavy & I don't want to implement it on all 
  30.    of your servers. (I use mod_perl and require a Database access to 
  31.    authenticate)
  32.  
  33. 2) Most of  my web applications use a single signon
  34.  
  35. 3) Two different applications running under the same server could access 2
  36.    different authentication models without any pain 
  37.  
  38. **************************************************************************
  39.  
  40. INSTALLATION
  41.  
  42. File: mod_auth_remote.c is for Apache 2.0
  43. File: mod_auth_remote_1.3.c is for Apache 1.3
  44.  
  45. Load as a DSO or build statically.
  46.  
  47. ***************************************************************************
  48.  
  49. mod_auth_remote keywords/directives
  50.  
  51. AuthRemoteServer : The remote server against which the authentication has to take place
  52. AuthRemotePort   : The port on which the remote server is runing
  53. AuthRemoteURL    : The (optional) path on the remote server which has to be accessed
  54. ( should have been AuthRemotePath :-) )
  55.  
  56. As you would have noticed these 3 configuration directives are used to build the
  57. complete URL against which mod_auth_remote authenticates.
  58.  
  59. *****************************************************************************
  60.  
  61. Sample Configuration for a httpd (my.server.com)
  62.  
  63. ------------------------------------------
  64.  
  65. <Directory ~ "/application_1/">
  66.  AuthType           Basic
  67.  AuthName           CHICKEN_RUN
  68.  AuthRemoteServer   auth1.saju.com
  69.  AuthRemotePort     80
  70.  AuthRemoteURL      /One/Auth/method
  71.  require            valid-user
  72. </Directory>
  73.  
  74. <Directory ~ "/application_2/">
  75.  AuthType           Basic
  76.  AuthName           BIG-CHIEF
  77.  AuthRemoteServer   auth1.saju.com
  78.  AuthRemotePort     80
  79.  AuthRemoteURL      /luke/takes/a/walk
  80.  require            valid-user
  81. </Directory>
  82.  
  83. <Directory ~ "/application_3/">
  84.  AuthType           Basic
  85.  AuthName           ONE_RING
  86.  AuthRemoteServer   www.sauron.com
  87.  AuthRemotePort     1290
  88.  AuthRemoteURL      /auth
  89.  require            valid-user
  90. </Directory>
  91.  
  92. ---------------------------------------------------
  93.  
  94. When a request is made to http://my.server.com/application_1, mod_auth_remote uses
  95. the basic auth scheme to get the client's username:passwd and then authenticates the
  96. user against http://auth1.saju.com:80/One/Auth/method using basic auth.
  97.  
  98. Similiarily a request coming to http://my.server.com/application_3 is automatically
  99. authenticated against http://www.sauron.com:1290/auth
  100.  
  101. So, the biggest advantage here is that 'my.server.com' can host 3 different
  102. applications having 3 different user sets and 'my.server.com' need not host any sort
  103. of authentication infrastructure (like having access to LDAP server or DB etc), it
  104. need not have any authentication code at all !!
  105.  
  106. Similarily 10 different servers could access 'auth1.saju.com/<url>' for
  107. authenticating users without having to duplicating the authentication infrastructure
  108. 10 times !
  109.  
  110. ******************************************************************************
  111.  
  112. Linux users
  113.  
  114. This module is now part of the Mandrake Cooker distrib. You can download this module off any Mandrake mirror
  115.  
  116. FreeBSD users
  117.  
  118. This module is now part of the FreeBSD www ports collection. Can be downloaded off any FreeBSD-stable mirror.
  119.  
  120. Win32
  121. www.gknw.net/development/apache/ httpd-2.0/win32/modules/
  122.  
  123. Netware
  124. Index of /development/apache/httpd-2.0/netware/modules
  125.